import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel';

export type AccountParams = BasicPageParams & {
  id?: string;
  xzqdm?: string;
  account?: string;
  nickname?: string;
  cs: string; // 消防的搜索条件 类型
  peoples: string;
  fistexitnum: string;
  stairs: string;
  rooms: string;
};

export type RoleParams = {
  roleName?: string;
  status?: string;
};

export type DistrictParams = {
  name?: string;
  status?: string;
};

export type RolePageParams = BasicPageParams & RoleParams;

export type DeptParams = {
  deptName?: string;
  status?: string;
};

export type MenuParams = {
  menuName?: string;
  status?: string;
};

export interface AccountListItem {
  id: string;
  uname: string;
  email: string;
  nickname: string;
  roleValue: number;
  createOn: string;
  descr: string;
  status: number;
}

export interface DeptListItem {
  id: string;
  group: string;
  name: string;
  orderNo: string;
  createOn: string;
  descr: string;
  status: number;
  parentId: string;
}

export interface MenuListItem {
  id: string;
  orderNo: string;
  createTime: string;
  status: number;
  icon: string;
  component: string;
  permission: string;
}

export interface RoleListItem {
  id: string;
  name: string;
  role: string;
  status: number;
  orderNo: string;
  createTime: string;
}

export interface DistrictListItem {
  id: string;
  parentId: string;
  regionName: string;
  regionFullName: string;
  regionStatus: string;
  regionCode: string;
  regionalLevel: string;
  rankName: string;
}

export interface SamplingStatItem {
  total: number;
  sampleTotal: number;
}

/**
 * @description: Request list return value
 */
export type AccountListGetResultModel = BasicFetchResult<AccountListItem>;

export type DeptListGetResultModel = DeptListItem[];

export type MenuListGetResultModel = BasicFetchResult<MenuListItem>;

export type RolePageListGetResultModel = BasicFetchResult<RoleListItem>;

export type RoleListGetResultModel = RoleListItem[];

export type DistrictListGetResultModel = DistrictListItem[];
